package com.company.pangu.aliyun.live.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * <p>拉流协议</p >
 *
 * @author youyoukele
 * @version 1.0
 * @date 2021/10/28
 */
@AllArgsConstructor
public enum PullProtocolType implements ProtocolType {

    /**
     * RTMP，全称 Real Time Messaging Protocol，即实时消息传送协议。Adobe 公司为 Flash 播放器和服务器之间音视频数据传输开发的私有协议。
     */
    RTMP("rtmp", "", "rtmp://"),

    /**
     * HLS (HTTP Live Streaming) 则是苹果公司基于 HTTP 的流媒体传输协议。
     */
    HLS("hls", "m3u8", "https://"),

    /**
     * FLV (Flash Video) 是 Adobe 公司推出的另一种视频格式，是一种在网络上传输的流媒体数据存储容器格式。
     */
    FLV("flv", "flv", "https://");

    /**
     * 协议编码
     */
    @Getter
    private final String code;

    /**
     * 扩展名
     */
    @Getter
    private final String extension;

    /**
     * 网络协议
     */
    @Getter
    private final String netProtocol;
}
